﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Util.ExtensionMethods;
using PersistLayer.DAL;
using PersistLayer.Model;
using System.Data;
using System.Dynamic;
using Facebook;
using System.Web.Script.Serialization;
using PersistLayer.Facebook;

namespace LojaVirtual.Site.Styles.Site
{
	public partial class Login : System.Web.UI.Page
	{
		private Geral.UserControls.MensagemSucesso ms;

		//Criar o aplicativo no facebook da mundyal. 
		protected void Page_Load(object sender, EventArgs e)
		{
			ms = (Geral.UserControls.MensagemSucesso)LoadControl(ResolveUrl("/Geral/UserControls/MensagemSucesso.ascx"));
			placeholder.Controls.Add(ms);

			CarregaTexto();

			//No event subscribe, quando o tiver logado vai abrir um popup e carregar as infos do usuário
			//nome e email e colocar senha, adicionar novo usuário e redirecionar para home
			//Se já existir o email cadastrado, digita a senha que está cadastrada no sistema e depois redireciona. 
		}
		private void CarregaTexto()
		{
			lblEmail.Text = Resources.Geral.Email;
			lblSenha.Text = Resources.Geral.Senha;
			btnEntrar.Text = Resources.Geral.Login;
			lnkCadastrar.Text = Resources.Geral.CadastreAgora;
		}
		protected void btnEntrar_Click(object sender, EventArgs e)
		{
			try
			{
				if (txtEmail.Text.Equals(""))
					throw new ApplicationException("O campo EMAIL é obrigatório");

				if (txtSenha.Text.Equals(""))
					throw new ApplicationException("O campo SENHA é obrigatório");

				Usuario user = new Usuario();
				user = new UsuarioDAL().Buscar(txtEmail.Text, Util.Criptografia.EncryptMd5(txtSenha.Text));

				if ((user == null) || (user.ID == 0))
					throw new ApplicationException("A combinação usuário/senha não foi encontrada!");
				else
				{
					//Cria a session indicando que ele digitou a senha.
					Session["SenhaSistema"] = true;
					Util.Cookies.CreateCookie("Usuario", Util.Criptografia.Encriptar(Geral.Constantes.CRIPTO.CHAVE, Geral.Constantes.CRIPTO.VETOR, user.ID.ToString()), 60, Response);
					Response.Redirect("Home.aspx?" + Geral.Constantes.OUTROS.USUARIO_ID + "=" + Util.Criptografia.Encriptar(Geral.Constantes.CRIPTO.CHAVE, Geral.Constantes.CRIPTO.VETOR, user.ID.ToString()));
				}
			}
			catch (Exception ex)
			{
				ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "teste", "alert('" + ex.Message + "');", true);
			}
		}
		protected void lnkNovoUser_Click(object sender, EventArgs e)
		{
			Response.Redirect("/Site/Pages/Site/NovoUsuario.aspx");
		}

	}
}